package com.myqf.d6_lambda_函数式接口_方法引用.monday.lambda.四个函数式接口;


import java.util.function.Supplier;

/**
 * 作者：黎杭
 * 日期：2020/2/17
 */
public class TestSupplier {


    public static void main(String[] args) {

        Supplier sup = new Supplier<String>() {// 传统方式创建一个匿名实现类 的实例
            @Override
            public String get() {// 一定会返回一个字符串
                return "各位同学，你们真棒！";
            }
        };
        String string = getString(sup);

        System.err.println(string);

        // 由于lambda表达式来了，所以这种方法就显得太罗嗦了！
        // lambda核心思想在哪？就是 着重于覆写抽象方法，实现方法的主体代码

        Supplier sup2 = () -> "各位同学，这是lambda表达式的写法";
        String string2 = getString(sup2);
        System.err.println(string2);
    }

    public static String getString(Supplier<String> sup) {// sup代表的不是接口，是匿名实现类的实例，
        String s = sup.get();
        return s;
    }

}
